package com.github.zyf.ioaj.annotation.internal;

import com.github.zyf.ioaj.constant.ParamType;

import java.lang.annotation.*;

/**
 * <h1>参数对象</h1>
 * <p>
 * 如果参数类型是对象（{@link ParamType#OBJECT}），
 * 对应的类需要添加此参数，对应类中的元素也需要添加{@link ParamItem}注解
 * </p>
 * <p>
 * 注：对象本身的参数属性会继承对象在算法中的参数属性，例如：
 * 如果对象在算法中被标注了{@link InputParam}注解，
 * 那么对象中标注了{@link ParamItem}注解的字段也会按照{@link InputParam}进行处理
 * </p>
 *
 * @author zyf
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Param {
}
